home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / mintprgs / mintupgr / disk7.zoo / elvis.zoo / usr / doc / elvis / versions.doc < prev    next >
Text File  |  1992-08-12  |  18KB  |  529 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. _1_2.  _V_E_R_S_I_O_N_S
  8.  
  9.      Elvis currently works under  BSD  UNIX,  AT&T  System-V
  10. UNIX,   SCO  XENIX,  Minix,  Coherent,  MS-DOS,  Atari  TOS,
  11. OS9/68k, VAX/VMS, and AmigaDos.  This section of the  manual
  12. provides special information that applies to each particular
  13. version of Elvis.
  14.  
  15.      For all versions except MS-DOS, the file "Makefile.mix"
  16. should  be  copied  to "Makefile", and then edited to select
  17. the correct set of options for your system.  There  is  more
  18. information about this embedded in the file itself.
  19.  
  20. _1_2._1.  _B_S_D _U_N_I_X
  21.  
  22.      Temporary files are stored in /tmp.
  23.  
  24.      You should modify /etc/rc so that the  temp  files  are
  25. preserved  when  the  system  is  rebooted.   Find a line in
  26. /etc/rc which reads
  27.      ex4.3preserve /tmp
  28.  
  29.      or something like that, and append the  following  line
  30. after it:
  31.      elvprsv /tmp/elv*
  32.  
  33.      If you do not have permission to modify /etc/rc,  don't
  34. fret.  The above modification is only needed to allow you to
  35. recover your changes after a system crash.   You  can  still
  36. run  Elvis  without  that  modification,  and  you can still
  37. recover your changes when Elvis crashes or when your  dialup
  38. modem  looses  the  carrier  signal, or something like that.
  39. Only a system crash or power failure could hurt you.
  40.  
  41.      Both Elvis and the real Vi read initialization commands
  42. from  a  file  called ".exrc", but the commands in that file
  43. might work on one but not  the  other.   For  example,  "set
  44. keywordprg=man"  will  work  for Elvis, but Vi will complain
  45. because it doesn't have a "keywordprg" option.  If the warn-
  46. ing  messages annoy you, then you can edit the config.h file
  47. to change the name of the  initialization  file  ".exrc"  to
  48. something else, such as ".elvisrc".
  49.  
  50.      If you use X windows, you may wish to add "-DCS_LATIN1"
  51. to  CFLAGS.  This will cause the digraph table and the flip-
  52. case option to have default values that are appropriate  for
  53. the  LATIN-1  character  set.  That's the standard character
  54. set for X.
  55.  
  56.      The default keyboard macro time-out value is larger for
  57. BSD  than  it  is  for  some other systems, because I've had
  58. trouble running Elvis via rlogin or Xterm.  I guess it takes
  59. a while for those keystokes to squirt through the net.
  60.  
  61.  
  62.  
  63.  
  64.                       August 10, 1992
  65.  
  66.  
  67.  
  68.  
  69.  
  70. 12-2                      VERSIONS                      12-2
  71.  
  72.  
  73. _1_2._2.  _S_y_s_t_e_m-_V _U_N_I_X
  74.  
  75.      Most SysV UNIX systems use terminfo instead of termcap,
  76. but  the  terminfo  library  doesn't seem to have a standard
  77. name.  As shipped, Elvis' Makefile.mix  is  configured  with
  78. "LIBS=-lterm".   You  may  need  to  change  it  to  "LIBS=-
  79. ltermcap" or "LIBS=-lterminfo" or even "LIBS=-lcurses".
  80.  
  81.      The /etc/rc file should be modified  as  described  for
  82. BSD  systems,  above.  The only difference is that SysV sys-
  83. tems tend to have directories for initialization, instead of
  84. a  single  large  /etc/rc  file.  Editor recovery is usually
  85. done somewhere in the /etc/rc2.d directory.
  86.  
  87.      The potential trouble with ".exrc" described above  for
  88. BSD UNIX applies to System-V UNIX as well.
  89.  
  90.      Elvis uses control-C as the interrupt key, not Delete.
  91.  
  92. _1_2._3.  _S_C_O _X_e_n_i_x
  93.  
  94.      For Xenix-386, you can use the  generic  System-V  set-
  95. tings.   You may wish to add "-DCS_IBMPC" to CFLAGS, to have
  96. the digraph table and flipcase option start  up  in  a  mode
  97. that is appropriate for the console.
  98.  
  99. There is a separate group of settings for  use  with  Xenix-
  100. 286.  It already has "-DCS_IBMPC" in CFLAGS.
  101.  
  102.      Because Xenix is so similar to System-V,  everything  I
  103. said  earlier  about  System-V  applies to the Xenix version
  104. too, except that  editor  recovery  probably  belongs  in  a
  105. directory called /etc/rc.d/8.
  106.  
  107. _1_2._4.  _M_i_n_i_x
  108.  
  109.      There are separate settings in Makefile.mix for  Minix-
  110. PC  and  Minix-68k.   The  differences between these two are
  111. that the 68k version uses ".o" for the object file extension
  112. where  the PC version uses ".s", and the PC version has some
  113. extra flags in CFLAGS to reduce the size of Elvis.   The  PC
  114. version  also uses tinytcap (instead of the full termcap) to
  115. make it smaller.
  116.  
  117.      Minix-PC users should read the CFLAGS section  of  this
  118. manual very carefully.  You have some choices to make...
  119.  
  120.      The  temporary  files  are  stored  in  /usr/tmp.   The
  121. /usr/tmp  directory  must exist before you run Elvis, and it
  122. must be readable/writable by  everybody.   We  use  /usr/tmp
  123. instead  of  /tmp  because  after  a  system  crash or power
  124. failure, you can recover the altered version of a file  from
  125. the  temporary  file in /usr/tmp.  If it was stored in /tmp,
  126. though, then it would  be  lost  because  /tmp  is  normally
  127.  
  128.  
  129.  
  130.                       August 10, 1992
  131.  
  132.  
  133.  
  134.  
  135.  
  136. 12-3                      VERSIONS                      12-3
  137.  
  138.  
  139. located on the RAM disk.
  140.  
  141.      Elvis uses control-C as the interrupt key, not Delete.
  142.  
  143. _1_2._5.  _C_o_h_e_r_e_n_t
  144.  
  145.      Elvis was ported to Coherent by Esa Ahola.
  146.  
  147.      Elvis is too large to run  under  Coherent  unless  you
  148. eliminate  some features via the CFLAGS setting.  The recom-
  149. mended settings, in Makefile.mix, produce a working  version
  150. of Elvis which emulates Vi faithfully, but lacks most of the
  151. extensions.  You should read  the  CFLAGS  section  of  this
  152. manual carefully.
  153.  
  154.      You can probably reduce the  size  of  Elvis  by  using
  155. tinytcap.c  instead of -lterm.  This would allow you to keep
  156. most features of Elvis, at the expense of terminal  indepen-
  157. dence.   (Tinytcap.c  has  ANSI  escape sequences hard-coded
  158. into it.) To use tinytcap,  just  add  "tinytcap.o"  to  the
  159. "EXTRA="  line in the Makefile, and remove "-lterm" from the
  160. "LIBS=" line.
  161.  
  162.      The temporary files are stored  in  /tmp.   You  should
  163. modify your /etc/rc file as described for BSD earlier.
  164.  
  165. _1_2._6.  _M_S-_D_O_S
  166.  
  167.      Elvis was ported to MS-DOS by Guntram Blohm and  Martin
  168. Patzel.  Willett Kempton added support for the DEC Rainbow.
  169.  
  170.      Ideally, Elvis should be compiled with Microsoft C 5.10
  171. and  the  standard  Microsoft  Make utility, via the command
  172. "make elvis.mak".  This will compile Elvis and  all  related
  173. utilities.
  174.  
  175.      With Microsoft C 6.00, you may have  trouble  compiling
  176. regexp.c.  If so, try compiling it without optimization.
  177.  
  178.      The "Makefile.mix" file contains  a  set  of  suggested
  179. settings for compiling elvis with Turbo-C or Borland C.  (If
  180. you have Turbo-C, but not the Make  utility,  then  you  can
  181. _a_l_m_o_s_t  use  the  "Elvis.prj" file to compile Elvis, but you
  182. must  explicitly  force  Turbo-C  to  compile  it  with  the
  183. "medium" memory model.  Most of the related programs [ctags,
  184. ref, virec, refont, and wildcard] are only one file long, so
  185. you  should  have  no trouble compiling them.) The "alias.c"
  186. file is meant to be compiled once into an  executable  named
  187. "ex.exe".   You  should  then  copy "ex.exe" to "vi.exe" and
  188. "view.exe".
  189.  
  190.      Elvis stores its temporary files in C:\tmp.  If this is
  191. not  satisfactory,  then  you should edit the CFLAGS line of
  192. your Makefile to change  TMPDIR  to  something  else  before
  193.  
  194.  
  195.  
  196.                       August 10, 1992
  197.  
  198.  
  199.  
  200.  
  201.  
  202. 12-4                      VERSIONS                      12-4
  203.  
  204.  
  205. compiling.  You can also control the name of the temp direc-
  206. tory via an environment variable named  TMP  or  TEMP.   The
  207. directory must exist before you can run Elvis.
  208.  
  209.      The TERM environment variable determines how elvis will
  210. write  to  the screen.  It can be set to any one of the fol-
  211. lowing values:
  212.  
  213.                pcbios    Use BIOS calls on an IBM-PC clone.
  214.                rainbow   Use DEC Rainbow interface.
  215.                ansi      Use ANSI.SYS driver.
  216.                nansi     User faster NANSI.SYS driver.
  217.  
  218.  
  219.      If  the  TERM  variable  isn't  set,  then  elvis  will
  220. automatically  select  either  the "rainbow" interface (when
  221. run on a Rainbow) or "pcbios" (on an IBM clone).
  222.  
  223.      You may prefer to use NANSI.SYS for speed; or  you  may
  224. NEED to use ANSI.SYS for a non-clone, such as a lap-top.  If
  225. so, you should  install  one  of  these  drivers  by  adding
  226. "driver  = nansi.sys" (or whatever) to your CONFIG.SYS file,
  227. and then you should define TERM to be "nansi" (or  whatever)
  228. by  adding  "set TERM=nansi" to your AUTOEXEC.BAT file.  You
  229. must then reboot for these changes to  take  effect.   After
  230. that,  Elvis  will  notice  the  "TERM"  setting and use the
  231. driver.
  232.  
  233.      Since ".exrc" is not a valid DOS filename, the name  of
  234. the  initialization  file  has  been  changed to "elvis.rc".
  235. Elvis will look for an "elvis.rc" file first  in  your  home
  236. directory, and then in the current directory.  Note that you
  237. must set an environment variable named "HOME"  to  the  full
  238. pathname  of  your home directory, for Elvis to check there;
  239. if "HOME" isn't set,  then  Elvis  will  only  look  in  the
  240. current  directory.   To set "HOME", you would typically add
  241. the following line to your AUTOEXEC.BAT file:
  242.      set HOME c:\
  243.  
  244.      An extra program, called "wildcard", is needed for  MS-
  245. DOS.   It  expands  wildcard  characters  in file names.  If
  246. Elvis flashes a "Bad command or filename"  message  when  it
  247. starts,  then  you've probably lost the WILDCARD.EXE program
  248. somehow.
  249.  
  250.      Elvis can run under Windows, but  only  in  full-screen
  251. mode.   Also,  Windows  uses  an environment variable called
  252. TEMP which interferes with elvis' usage  of  TEMP;  to  work
  253. around  this,  you  can  simply  set an environment variable
  254. named TMP (with no 'E') to  the  name  of  elvis'  temporary
  255. directory.   When  TEMP and TMP are both set, Elvis uses TMP
  256. and ignored TEMP.
  257.  
  258.  
  259.  
  260.  
  261.  
  262.                       August 10, 1992
  263.  
  264.  
  265.  
  266.  
  267.  
  268. 12-5                      VERSIONS                      12-5
  269.  
  270.  
  271. _1_2._7.  _A_t_a_r_i _T_O_S
  272.  
  273.      Elvis was ported to Atari TOS by Guntram Blohm and Mar-
  274. tin  Patzel.   It is very similar to the MS-DOS version.  It
  275. has been tested with the Mark Williams C compiler  and  also
  276. GNU-C.
  277.  
  278.      The TERM environment variable is ignored; the  ST  port
  279. always  assumes  that  TERM=vt52.   The SHELL (not COMSPEC!)
  280. variable should be set to the name of a line-oriented shell.
  281.  
  282.      A simple shell in included with Elvis.  Its  source  is
  283. in "shell.c", and the name of the executable is "shell.ttp".
  284. The file "profile.sh" should contain a set  of  instructions
  285. to  be  executed when the shell first starts up.  An example
  286. of this file is included, but you will almost certainly want
  287. to  edit it right away to match your configuration.  (If you
  288. already have a command-line shell, then you'll probably want
  289. to  continue  using  it.  The shell that comes with Elvis is
  290. very limited.)
  291.  
  292.      Currently, character attributes cannot be displayed  on
  293. the screen.
  294.  
  295.      Elvis runs under MiNT (a free  multi-tasking  extension
  296. to  TOS)  but  it  can  be a CPU hog because of the way that
  297. Elvis reads from the keyboard  with  timeout.   Also,  Elvis
  298. doesn't  use  any  of  the special features of MiNT.  I have
  299. received a set of patches that optimize Elvis for MiNT,  but
  300. they arrived too late to integrate into this release.
  301.  
  302. _1_2._8.  _O_S_9/_6_8_k
  303.  
  304.      Elvis was ported to OS9/68k by Peter Reinig.
  305.  
  306.      The Makefile is currently configured to  install  Elvis
  307. and  the  related  programs  in /dd/usr/cmds If this this is
  308. unacceptable, then you should change the BIN setting to some
  309. other  directory.   Similarly, it expects the source code to
  310. reside in /dd/usr/src/elvis; the ODIR  setting  is  used  to
  311. control this.
  312.  
  313.      Temporary files are stored in  the  /dd/tmp  directory.
  314. Your  /dd/startup file may need to be modified to prevent it
  315. from deleting Elvis' temporary files; make  /dd/startup  run
  316. the _e_l_v_p_r_s_v program before it wipes out /dd/tmp.
  317.  
  318.      The program in alias.c is linked repeatedly to  produce
  319. the "vi", "view", and "input" aliases for Elvis.  Sadly, the
  320. "ex" alias is impossible to implement under OS9 because  the
  321. shell has a built-in command by that name.
  322.  
  323.      For some  purposes,  you  must  give  `make'  the  "-b"
  324. option.  Specifically, you need this for "make -b clean" and
  325.  
  326.  
  327.  
  328.                       August 10, 1992
  329.  
  330.  
  331.  
  332.  
  333.  
  334. 12-6                      VERSIONS                      12-6
  335.  
  336.  
  337. "make -b install".
  338.  
  339. _1_2._9.  _V_A_X/_V_M_S
  340.  
  341.      John Campbell ported Elvis to VAX/VMS.
  342.  
  343.      A heavily laden VAX can take half an  hour  to  compile
  344. elvis.  This is normal.  Don't panic.
  345.  
  346.      While running, elvis will  create  temporary  files  in
  347. SYS$SCRATCH.   Enter  SHOW  LOGICAL  SYS$SCRATCH to see what
  348. actual directory you are using.  Many sites have SYS$SCRATCH
  349. equivalenced  to  SYS$LOGIN.  The elvis temporary files look
  350. like the following on VMS while elvis is running:
  351.        ELV_1123A.1;1       ELV_1123A.2;1       SO070202.;1
  352.  
  353.      Also, filtering commands (like !!dir and !}fmt)  should
  354. work  on  VMS.   This  assumes, however, that you can create
  355. temporary mailboxes and that your mailbox  quota  (a  sysgen
  356. parameter)  is  at least 256 bytes for a single write to the
  357. mailbox.  This is the default  sysgen  parameter,  so  there
  358. should be few people who experience filter problems.
  359.  
  360.      Additionally, an attempt was made to support the  stan-
  361. dard  terminals  on  VMS: "vt52", "vt100", "vt200", "vt300",
  362. "vt101", "vt102".  Non-standard terminals could be supported
  363. by  setting  your  terminal type to UNKNOWN (by entering SET
  364. TERM/UNKNOWN) and  defining  the  logical  name  ELVIS_TERM.
  365. Whatever  ELVIS_TERM translates to, however, will have to be
  366. included in tinytcap.c.  Note that the upper/lowercase  dis-
  367. tinctions are significant, and that DCL will upshift charac-
  368. ters that are not quoted strings, so enter DEFINE ELVIS_TERM
  369. "hp2621a".   As distributed, it would probably not be a good
  370. idea to have more than the standard terminals in  tinytcap.c
  371. (else  it  wouldn't  be  tiny, would it?).  Changes here, of
  372. course, would require a recompilation to take effect.
  373.  
  374.      If you have a version  of  the  "termcap"  library  and
  375. database  on  your  system,  then  you  may  wish to replace
  376. tinytcap with the real termcap.
  377.  
  378. _1_2._1_0.  _A_m_i_g_a_D_O_S
  379.  
  380.      Mike Rieser and Dale Rahn ported Elvis to AmigaDOS.
  381.  
  382.      The port was done using  Manx  Aztec  C  version  5.2b.
  383. Elvis  uses about as much space as it can and still be small
  384. code and data.  Elvis should also compile under DICE, though
  385. there  may  be  a little trouble with signed versus unsigned
  386. chars.
  387.  
  388.      The port has been done so  the  same  binary  will  run
  389. under both versions of AmigaDOS.  Under AmigaDOS 2.04, Elvis
  390. supports all the  documented  features.   It  also  uses  an
  391.  
  392.  
  393.  
  394.                       August 10, 1992
  395.  
  396.  
  397.  
  398.  
  399.  
  400. 12-7                      VERSIONS                      12-7
  401.  
  402.  
  403. external program ref to do tag lookup.  So, the accompanying
  404. programs: ref and ctags  are  recommended.   Under  AmigaDOS
  405. 1.2/1.3 Elvis works, buts lacks the more advanced features.
  406.  
  407.      For the port to AmigaDOS 2.04, we tried to use as  many
  408. Native  AmigaDOS  calls  as  we could.  This should increase
  409. Elvis's chances at  being  compiled  with  other  compilers.
  410. DICE  seems  to have a different default char type.  You may
  411. need to use the UCHAR() macro in tio.c.  To test it, try the
  412. :map command; if it looks right, things are cool.
  413.  
  414.      For the port to AmigaDOS 1.3, we tried to make sure the
  415. program  was  at  least  usable.  Many features are missing,
  416. most notably running commands in subshells.  Also,  what  we
  417. could  get working, we used Aztec functions to support them,
  418. so this part is little more compiler dependent.
  419.  
  420.      Aztec is compatible with the SAS  libcall  #pragma.   I
  421. personally  prefer  using the includes that come from Commo-
  422. dore over the ones supplied with Aztec, but for people  with
  423. a straight Aztec installation, I went with the default names
  424. for the Aztec pragmas.
  425.  
  426.      One include you'll need is <sys/types.h>.  Its a common
  427. include when porting software just make yourself one.  Its a
  428. two line file that saves a lot of hassle especially  in  the
  429. elvis  source.  So, make a directory where your includes are
  430. located called `sys' and in a file below that type:
  431.         /* sys/types.h */
  432.         #include <exec/types.h>
  433.  
  434.      When setting environment  variables  (either  local  or
  435. global)  for  variables  that specify a directory, make sure
  436. the variable ends in `:' or `/'.  This saved from having  to
  437. change  much  of the way elvis works.  The default temporary
  438. directory (if TEMP and TMP aren't specified) is  "T:".   The
  439. default  if  HOME directory (if no HOME environment variable
  440. is set) is "S:".
  441.  
  442.      To avoid conlict with other uses, Elvis  uses  elvis.rc
  443. instead of .exrc or where it looks for macros.
  444.  
  445. _1_2._1_1.  _O_t_h_e_r _S_y_s_t_e_m_s
  446.  
  447.      For Sun workstations, use the BSD configuration.   Ear-
  448. lier  versions of elvis didn't link correctly due to a quirk
  449. in Sun's version of the "make" utility, but this version  of
  450. elvis has a work-around for that quirk so you should have no
  451. trouble at all.
  452.  
  453.      For Linux, use the SysV  settings.   You  can  probably
  454. just remove the "-lterm" from the "LIBS= -lterm" line, since
  455. linux keeps the termcap functions in the standard C library.
  456.  
  457.  
  458.  
  459.  
  460.                       August 10, 1992
  461.  
  462.  
  463.  
  464.  
  465.  
  466. 12-8                      VERSIONS                      12-8
  467.  
  468.  
  469.      For other UNIXoid systems, I suggest you start with the
  470. Minix-68k settings and then grow from that.  Minix is a nice
  471. starting point because it is a  clone  of  Version  7  UNIX,
  472. which  was  the  last  common  ancestor of BSD UNIX and SysV
  473. UNIX.  Any Operating System which claims any  UNIX  compati-
  474. bility  what  so  ever will therefore support V7/Minix code.
  475. You may need to fiddle with  #include  directives  or  some-
  476. thing,  though.   Minix-68k  is a better starting point than
  477. Minix-PC because the PC compiler has some severe quirks.
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                       August 10, 1992
  527.  
  528.  
  529.